As the complexity of computer systems increases, the time required to debug applications associated with computer systems often increases as well. For example, modern organizations often operate computer networks that implement numerous services. A single transaction with the computer network can involve many of these services and each service may itself utilize numerous devices in the network. For example, a web-based application may contain dependencies on numerous servers, databases, scripts, and the like. The time required to continually test and verify that components of a system are operational often increases as the number of dependencies in the application increases. Tests may be performed that verify whether a portion or all of a system, such as a user interface or an application programming interface, is operational. Such tests, however, are often difficult to implement due to a number of reasons, such as inconsistent results, temporary glitches, and the like. Accordingly, testing and diagnosis can require valuable resources being expended to evaluate potential problems. Further, conventional testing techniques may result in a less-than-ideal allocation of resources.